package top.lishuoboy.dependency.base.lang.ansi;

import cn.hutool.core.lang.ansi.AnsiElement;
import cn.hutool.core.util.StrUtil;

/**
 * ANSI样式
 * 补充完善 cn.hutool.core.lang.ansiAnsiStyle
 *
 * @author lishuoboy
 */
public enum AnsiStylePlus implements AnsiElement {

    /** 缓慢闪烁（未广泛支持，shell有效） */
    SLOW_BLINK(5),
    /** 快速闪烁（未广泛支持） */
    FAST_BLINK(6),
    /** 反色 */
    REVERSE_COLOR(7),
    /** 前景隐藏（未广泛支持，shell有效） */
    HIDDEN(8),
    /** 删除线 */
    STRIKETHROUGH(9);

    private final int code;

    AnsiStylePlus(int code) {
        this.code = code;
    }

    /**
     * 获取ANSI文本样式风格代码
     *
     * @return 文本样式风格代码
     */
    @Override
    public int getCode() {
        return this.code;
    }

    @Override
    public String toString() {
        return StrUtil.toString(this.code);
    }
}
